package main

import (
	"bufio"
	"fmt"
	"os"
)

/*
*
通过buffer来提高io
*/
func main() {
	file, err := os.Open("/ylf")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()
	b1 := bufio.NewReader(file)

	// 读取一行
	b1.ReadString('\n')

	// 读取一行字节
	b1.ReadBytes('\n')

	// 读取键盘输入
	b2 := bufio.NewReader(os.Stdin)
	str, err := b2.ReadString('\n')
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(str)

	// 写文件
	file, err = os.Open("/ylf")
	if err != nil {
		fmt.Println(err)
		return
	}
	b3 := bufio.NewWriter(file)
	b3.WriteString("hhhh")
	// 需要flush,就是把缓冲区中的数据刷到磁盘上.如果缓冲区中的数据已经满了，会自动刷新到磁盘上，不需要手动刷新了。
	b3.Flush()
}
